
use crate::metadata::ir::*;
pub(crate) static REGISTERS: IR = IR {
    blocks: &[
        Block {
            name: "Can",
            extends: None,
            description: Some("Controller area network"),
            items: &[
                BlockItem {
                    name: "mcr",
                    description: Some("master control register"),
                    array: None,
                    byte_offset: 0x0,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Mcr"),
                    }),
                },
                BlockItem {
                    name: "msr",
                    description: Some("master status register"),
                    array: None,
                    byte_offset: 0x4,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Msr"),
                    }),
                },
                BlockItem {
                    name: "tsr",
                    description: Some("transmit status register"),
                    array: None,
                    byte_offset: 0x8,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Tsr"),
                    }),
                },
                BlockItem {
                    name: "rfr",
                    description: Some("receive FIFO 0 register"),
                    array: Some(Array::Regular(RegularArray { len: 2, stride: 4 })),
                    byte_offset: 0xc,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Rfr"),
                    }),
                },
                BlockItem {
                    name: "ier",
                    description: Some("interrupt enable register"),
                    array: None,
                    byte_offset: 0x14,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Ier"),
                    }),
                },
                BlockItem {
                    name: "esr",
                    description: Some("error status register"),
                    array: None,
                    byte_offset: 0x18,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Esr"),
                    }),
                },
                BlockItem {
                    name: "btr",
                    description: Some("bit timing register"),
                    array: None,
                    byte_offset: 0x1c,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Btr"),
                    }),
                },
                BlockItem {
                    name: "tx",
                    description: Some("CAN Transmit cluster"),
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 16 })),
                    byte_offset: 0x180,
                    inner: BlockItemInner::Block(BlockItemBlock { block: "Tx" }),
                },
                BlockItem {
                    name: "rx",
                    description: Some("CAN Receive cluster"),
                    array: Some(Array::Regular(RegularArray { len: 2, stride: 16 })),
                    byte_offset: 0x1b0,
                    inner: BlockItemInner::Block(BlockItemBlock { block: "Rx" }),
                },
                BlockItem {
                    name: "fmr",
                    description: Some("filter master register"),
                    array: None,
                    byte_offset: 0x200,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Fmr"),
                    }),
                },
                BlockItem {
                    name: "fm1r",
                    description: Some("filter mode register"),
                    array: None,
                    byte_offset: 0x204,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Fm1r"),
                    }),
                },
                BlockItem {
                    name: "fs1r",
                    description: Some("filter scale register"),
                    array: None,
                    byte_offset: 0x20c,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Fs1r"),
                    }),
                },
                BlockItem {
                    name: "ffa1r",
                    description: Some("filter FIFO assignment register"),
                    array: None,
                    byte_offset: 0x214,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Ffa1r"),
                    }),
                },
                BlockItem {
                    name: "fa1r",
                    description: Some("filter activation register"),
                    array: None,
                    byte_offset: 0x21c,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Fa1r"),
                    }),
                },
                BlockItem {
                    name: "fb",
                    description: Some("CAN Filter Bank cluster"),
                    array: Some(Array::Regular(RegularArray { len: 28, stride: 8 })),
                    byte_offset: 0x240,
                    inner: BlockItemInner::Block(BlockItemBlock { block: "Fb" }),
                },
            ],
        },
        Block {
            name: "Fb",
            extends: None,
            description: Some("CAN Filter Bank cluster"),
            items: &[
                BlockItem {
                    name: "fr1",
                    description: Some("Filter bank 0 register 1"),
                    array: None,
                    byte_offset: 0x0,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Fr1"),
                    }),
                },
                BlockItem {
                    name: "fr2",
                    description: Some("Filter bank 0 register 2"),
                    array: None,
                    byte_offset: 0x4,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Fr2"),
                    }),
                },
            ],
        },
        Block {
            name: "Rx",
            extends: None,
            description: Some("CAN Receive cluster"),
            items: &[
                BlockItem {
                    name: "rir",
                    description: Some("receive FIFO mailbox identifier register"),
                    array: None,
                    byte_offset: 0x0,
                    inner: BlockItemInner::Register(Register {
                        access: Access::Read,
                        bit_size: 32,
                        fieldset: Some("Rir"),
                    }),
                },
                BlockItem {
                    name: "rdtr",
                    description: Some("mailbox data high register"),
                    array: None,
                    byte_offset: 0x4,
                    inner: BlockItemInner::Register(Register {
                        access: Access::Read,
                        bit_size: 32,
                        fieldset: Some("Rdtr"),
                    }),
                },
                BlockItem {
                    name: "rdlr",
                    description: Some("mailbox data high register"),
                    array: None,
                    byte_offset: 0x8,
                    inner: BlockItemInner::Register(Register {
                        access: Access::Read,
                        bit_size: 32,
                        fieldset: Some("Rdlr"),
                    }),
                },
                BlockItem {
                    name: "rdhr",
                    description: Some("receive FIFO mailbox data high register"),
                    array: None,
                    byte_offset: 0xc,
                    inner: BlockItemInner::Register(Register {
                        access: Access::Read,
                        bit_size: 32,
                        fieldset: Some("Rdhr"),
                    }),
                },
            ],
        },
        Block {
            name: "Tx",
            extends: None,
            description: Some("CAN Transmit cluster"),
            items: &[
                BlockItem {
                    name: "tir",
                    description: Some("TX mailbox identifier register"),
                    array: None,
                    byte_offset: 0x0,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Tir"),
                    }),
                },
                BlockItem {
                    name: "tdtr",
                    description: Some("mailbox data length control and time stamp register"),
                    array: None,
                    byte_offset: 0x4,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Tdtr"),
                    }),
                },
                BlockItem {
                    name: "tdlr",
                    description: Some("mailbox data low register"),
                    array: None,
                    byte_offset: 0x8,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Tdlr"),
                    }),
                },
                BlockItem {
                    name: "tdhr",
                    description: Some("mailbox data high register"),
                    array: None,
                    byte_offset: 0xc,
                    inner: BlockItemInner::Register(Register {
                        access: Access::ReadWrite,
                        bit_size: 32,
                        fieldset: Some("Tdhr"),
                    }),
                },
            ],
        },
    ],
    fieldsets: &[
        FieldSet {
            name: "Btr",
            extends: None,
            description: Some("bit timing register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "brp",
                    description: Some("BRP"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 10,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "ts",
                    description: Some("TS1"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 4,
                    array: Some(Array::Regular(RegularArray { len: 2, stride: 4 })),
                    enumm: None,
                },
                Field {
                    name: "sjw",
                    description: Some("SJW"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 24 }),
                    bit_size: 2,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "lbkm",
                    description: Some("Loop Back Mode enabled"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 30 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "silm",
                    description: Some("SILM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 31 }),
                    bit_size: 1,
                    array: None,
                    enumm: Some("Silm"),
                },
            ],
        },
        FieldSet {
            name: "Esr",
            extends: None,
            description: Some("interrupt enable register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "ewgf",
                    description: Some("EWGF"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "epvf",
                    description: Some("EPVF"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "boff",
                    description: Some("BOFF"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "lec",
                    description: Some("LEC"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 4 }),
                    bit_size: 3,
                    array: None,
                    enumm: Some("Lec"),
                },
                Field {
                    name: "tec",
                    description: Some("TEC"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 8,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rec",
                    description: Some("REC"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 24 }),
                    bit_size: 8,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Fa1r",
            extends: None,
            description: Some("filter activation register"),
            bit_size: 32,
            fields: &[Field {
                name: "fact",
                description: Some("Filter active"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 1,
                array: Some(Array::Regular(RegularArray { len: 28, stride: 1 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Ffa1r",
            extends: None,
            description: Some("filter FIFO assignment register"),
            bit_size: 32,
            fields: &[Field {
                name: "ffa",
                description: Some("Filter FIFO assignment for filter 0"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 1,
                array: Some(Array::Regular(RegularArray { len: 28, stride: 1 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Fm1r",
            extends: None,
            description: Some("filter mode register"),
            bit_size: 32,
            fields: &[Field {
                name: "fbm",
                description: Some("Filter mode"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 1,
                array: Some(Array::Regular(RegularArray { len: 28, stride: 1 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Fmr",
            extends: None,
            description: Some("filter master register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "finit",
                    description: Some("FINIT"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "can2sb",
                    description: Some("CAN2SB"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 8 }),
                    bit_size: 6,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Fr1",
            extends: None,
            description: Some("Filter bank 0 register 1"),
            bit_size: 32,
            fields: &[Field {
                name: "fb",
                description: Some("Filter bits"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 1,
                array: Some(Array::Regular(RegularArray { len: 32, stride: 1 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Fr2",
            extends: None,
            description: Some("Filter bank 0 register 2"),
            bit_size: 32,
            fields: &[Field {
                name: "fb",
                description: Some("Filter bits"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 1,
                array: Some(Array::Regular(RegularArray { len: 32, stride: 1 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Fs1r",
            extends: None,
            description: Some("filter scale register"),
            bit_size: 32,
            fields: &[Field {
                name: "fsc",
                description: Some("Filter scale configuration"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 1,
                array: Some(Array::Regular(RegularArray { len: 28, stride: 1 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Ier",
            extends: None,
            description: Some("interrupt enable register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "tmeie",
                    description: Some("TMEIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "fmpie",
                    description: Some("FMPIE0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 2, stride: 3 })),
                    enumm: None,
                },
                Field {
                    name: "ffie",
                    description: Some("FFIE0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 2, stride: 3 })),
                    enumm: None,
                },
                Field {
                    name: "fovie",
                    description: Some("FOVIE0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 2, stride: 3 })),
                    enumm: None,
                },
                Field {
                    name: "ewgie",
                    description: Some("EWGIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 8 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "epvie",
                    description: Some("EPVIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 9 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "bofie",
                    description: Some("BOFIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 10 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "lecie",
                    description: Some("LECIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 11 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "errie",
                    description: Some("ERRIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 15 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "wkuie",
                    description: Some("WKUIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "slkie",
                    description: Some("SLKIE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 17 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Mcr",
            extends: None,
            description: Some("master control register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "inrq",
                    description: Some("INRQ"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "sleep",
                    description: Some("SLEEP"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "txfp",
                    description: Some("TXFP"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rflm",
                    description: Some("RFLM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "nart",
                    description: Some("NART"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 4 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "awum",
                    description: Some("AWUM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 5 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "abom",
                    description: Some("ABOM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 6 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "ttcm",
                    description: Some("TTCM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 7 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "reset",
                    description: Some("RESET"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 15 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "dbf",
                    description: Some("DBF"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Msr",
            extends: None,
            description: Some("master status register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "inak",
                    description: Some("INAK"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "slak",
                    description: Some("SLAK"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "erri",
                    description: Some("ERRI"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "wkui",
                    description: Some("WKUI"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "slaki",
                    description: Some("SLAKI"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 4 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "txm",
                    description: Some("TXM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 8 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rxm",
                    description: Some("RXM"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 9 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "samp",
                    description: Some("SAMP"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 10 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rx",
                    description: Some("RX"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 11 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Rdhr",
            extends: None,
            description: Some("receive FIFO mailbox data high register"),
            bit_size: 32,
            fields: &[Field {
                name: "data",
                description: Some("DATA4"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 8,
                array: Some(Array::Regular(RegularArray { len: 4, stride: 8 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Rdlr",
            extends: None,
            description: Some("mailbox data high register"),
            bit_size: 32,
            fields: &[Field {
                name: "data",
                description: Some("DATA0"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 8,
                array: Some(Array::Regular(RegularArray { len: 4, stride: 8 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Rdtr",
            extends: None,
            description: Some("mailbox data high register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "dlc",
                    description: Some("DLC"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 4,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "fmi",
                    description: Some("FMI"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 8 }),
                    bit_size: 8,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "time",
                    description: Some("TIME"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 16,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Rfr",
            extends: None,
            description: Some("receive FIFO 0 register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "fmp",
                    description: Some("FMP0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 2,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "full",
                    description: Some("FULL0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "fovr",
                    description: Some("FOVR0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 4 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rfom",
                    description: Some("RFOM0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 5 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Rir",
            extends: None,
            description: Some("receive FIFO mailbox identifier register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "rtr",
                    description: Some("RTR"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: Some("Rtr"),
                },
                Field {
                    name: "ide",
                    description: Some("IDE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: None,
                    enumm: Some("Ide"),
                },
                Field {
                    name: "exid",
                    description: Some("EXID"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 18,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "stid",
                    description: Some("STID"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 21 }),
                    bit_size: 11,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Tdhr",
            extends: None,
            description: Some("mailbox data high register"),
            bit_size: 32,
            fields: &[Field {
                name: "data",
                description: Some("DATA4"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 8,
                array: Some(Array::Regular(RegularArray { len: 4, stride: 8 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Tdlr",
            extends: None,
            description: Some("mailbox data low register"),
            bit_size: 32,
            fields: &[Field {
                name: "data",
                description: Some("DATA0"),
                bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                bit_size: 8,
                array: Some(Array::Regular(RegularArray { len: 4, stride: 8 })),
                enumm: None,
            }],
        },
        FieldSet {
            name: "Tdtr",
            extends: None,
            description: Some("mailbox data length control and time stamp register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "dlc",
                    description: Some("DLC"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 4,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tgt",
                    description: Some("TGT"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 8 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "time",
                    description: Some("TIME"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 16,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Tir",
            extends: None,
            description: Some("TX mailbox identifier register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "txrq",
                    description: Some("TXRQ"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rtr",
                    description: Some("RTR"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: Some("Rtr"),
                },
                Field {
                    name: "ide",
                    description: Some("IDE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: None,
                    enumm: Some("Ide"),
                },
                Field {
                    name: "exid",
                    description: Some("EXID"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 18,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "stid",
                    description: Some("STID"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 21 }),
                    bit_size: 11,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Tsr",
            extends: None,
            description: Some("transmit status register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "rqcp",
                    description: Some("RQCP0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 8 })),
                    enumm: None,
                },
                Field {
                    name: "txok",
                    description: Some("TXOK0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 8 })),
                    enumm: None,
                },
                Field {
                    name: "alst",
                    description: Some("ALST0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 8 })),
                    enumm: None,
                },
                Field {
                    name: "terr",
                    description: Some("TERR0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 3 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 8 })),
                    enumm: None,
                },
                Field {
                    name: "abrq",
                    description: Some("ABRQ0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 7 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 8 })),
                    enumm: None,
                },
                Field {
                    name: "code",
                    description: Some("CODE"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 24 }),
                    bit_size: 2,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tme",
                    description: Some("Lowest priority flag for mailbox 0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 26 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 1 })),
                    enumm: None,
                },
                Field {
                    name: "low",
                    description: Some("Lowest priority flag for mailbox 0"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 29 }),
                    bit_size: 1,
                    array: Some(Array::Regular(RegularArray { len: 3, stride: 1 })),
                    enumm: None,
                },
            ],
        },
    ],
    enums: &[
        Enum {
            name: "Ide",
            description: None,
            bit_size: 1,
            variants: &[
                EnumVariant {
                    name: "STANDARD",
                    description: Some("Standard identifier"),
                    value: 0,
                },
                EnumVariant {
                    name: "EXTENDED",
                    description: Some("Extended identifier"),
                    value: 1,
                },
            ],
        },
        Enum {
            name: "Lec",
            description: None,
            bit_size: 3,
            variants: &[
                EnumVariant {
                    name: "NO_ERROR",
                    description: Some("No Error"),
                    value: 0,
                },
                EnumVariant {
                    name: "STUFF",
                    description: Some("Stuff Error"),
                    value: 1,
                },
                EnumVariant {
                    name: "FORM",
                    description: Some("Form Error"),
                    value: 2,
                },
                EnumVariant {
                    name: "ACK",
                    description: Some("Acknowledgment Error"),
                    value: 3,
                },
                EnumVariant {
                    name: "BIT_RECESSIVE",
                    description: Some("Bit recessive Error"),
                    value: 4,
                },
                EnumVariant {
                    name: "BIT_DOMINANT",
                    description: Some("Bit dominant Error"),
                    value: 5,
                },
                EnumVariant {
                    name: "CRC",
                    description: Some("CRC Error"),
                    value: 6,
                },
                EnumVariant {
                    name: "CUSTOM",
                    description: Some("Set by software"),
                    value: 7,
                },
            ],
        },
        Enum {
            name: "Rtr",
            description: None,
            bit_size: 1,
            variants: &[
                EnumVariant {
                    name: "DATA",
                    description: Some("Data frame"),
                    value: 0,
                },
                EnumVariant {
                    name: "REMOTE",
                    description: Some("Remote frame"),
                    value: 1,
                },
            ],
        },
        Enum {
            name: "Silm",
            description: None,
            bit_size: 1,
            variants: &[
                EnumVariant {
                    name: "NORMAL",
                    description: Some("Normal operation"),
                    value: 0,
                },
                EnumVariant {
                    name: "SILENT",
                    description: Some("Silent Mode"),
                    value: 1,
                },
            ],
        },
    ],
};
